#ifndef TB_SEARCHTITLEGOODRATE_H
#define TB_SEARCHTITLEGOODRATE_H

#include <QString>
#include <QWebEngineView>

#include "../txtOper_qt5142_vs17/TxtOper.h"
#include "WebRequestBase.h"

// 单个汉字的信息(是哪个汉字/英文字母，搜索到的店铺数量是多少，具体的店铺名称和URL信息)
// 由于单个汉字的店铺数量也可能较多，于是采用 好评率分段的方式 来查询
// 查询的步骤，暂时如下：
//	(1) 单个汉字/英文，所有的店铺数量	(可能数量较多，会显示不全)
//	(2) 单个汉字/英文，某好评率范围的店铺数量。
//	先将上面的 好评率范围 确定好，然后再抓 对应的 店铺名称 和 URL。最多100页，每页20个 --> 最多 只能有2000个结果。
//	(3) ...
class DianPu_DanGeHanZi
{
	QChar Fchar;// 单个汉字/英文字母
	int FiCnt_DianPu;// 店铺数量
	QString FstrGoodrateRange;// 好评率(goodrate) 分段范围

	// 防止 店铺名 中有特殊字符，应该将结果放置到utf-8编码的文件中
	QList<QString> FlistMingCheng;// 遍历出来的所有店铺的名称
	QList<QString> FlistUrl;// 遍历出来的所有店铺的URL
};

// ZC: 这个类，用于：搜索店铺名称
//  条件：(1)、"指定筛选"为"店铺名称" (rele_field=title)
//       (2)、通过"好评率"来划分小范围 ("goodrate=9300%2C9500" 这个意思是 好评率在93%到95%之间)
class TB_searchTitleGoodrate :public WebRequestBase
{
public:
    TB_searchTitleGoodrate(void* _pmvWebEngineView, QWebEngineView* _pweView, QString _strKeyword);

    void Request(int iType);
    int IfResponse_byType(EWebResponseType _type);
    bool Response();
    void JsReturn(int _iJsType, const QVariant &result, ScriptCallback1* _pScriptCallback);

public:
    void SetExtendInfo(QString _strIniFile);

private:
    JS_Oper FjsOper;
    QDateTime FdtInterval;
    EWebResponseType Fwrt;

    void AddMsg(QString _str);

    QString FstrIniFile;

public:
    int FiPageCount;
    int FiPageIndex;

    int FiSearchIdx;

private:
	// 应该保存至utf-8编码的文件中
	// 这个list可以存放为2种文件：(1)单个文件存放所有单个文字搜索出来的店铺的数量(2)
	QList<DianPu_DanGeHanZi> FlistDanGeHanZi;// 单个汉字的list



	//QHash<QString, QString> FhashUrlTitle;// 店铺的Url(key)和店铺名称(value)之间的hash
	// 应该是 店铺的URL是唯一的，店铺名称可以允许重复，但是实际是什么样子，测试了才知道...
	//QHash<QString, QList<QString>> FhashUrl_TitleList;// 店铺的Url(key) 和 店铺名称list(value) 之间的hash
	//QHash<QString, QList<QString>> FhashTitle_UrlList;// 店铺名称(key) 和 店铺的Url的list(value) 之间的hash
};

enum EJsType
{
	jtNone,
	jtShopCount,// 商铺数量
	jtShopInfoList,// 商铺信息列表
};

enum ETaoBaoRequestType
{
    tbrtNone,
    tbrtLogin,
    tbrtSearch_DianPuMingCheng_HaiPingLv,// 通过店铺名称&好评率来搜索店铺
};

#endif // TB_SEARCHTITLEGOODRATE_H
